/** 
 * @description: 预加载
 * @param : 
 */
$(document).ready(function () {
  $('#procedureP').selectpicker('destroy');
  resizeIframeHight();
  initCustomerTable();
  procedureSelectE();
  procedureSelectM()
});
var piedan;
var fMacIdData = [{ id: 1, fStop: '已启用' }, { id: 0, fStop: '停用' }];
var idss;
/** 
 * @description: 初始化客户信息列表
 * @param : 
 */
 
function operate(value,row,index){
  return '<a class="btn btn-xs update btnYe" style="background-color: #f5b834;color:white;width:80px;height:25px;line-height:22.5px;">添加成员</a>&nbsp;&nbsp;&nbsp;'
}
function initCustomerTable() {
  $('#customerTable').bootstrapTable('destroy').bootstrapTable({
    // 请求后台的URL
    // TODO:补充接口
    url: pathUrl("bill/findCustom.action"),
    //height : $(window).height() - 200,//行高
    // 请求方式
    method: "POST",
    // 是否使用缓存，默认为true
    cache: false,
    // 是否显示分页
    pagination: true,
    // 初始化加载第几页
    pageNumber: 1,
    // 每页的记录行数
    pageSize: 20,
    // 分页方式：client客户端分页，server服务端分页（*）
    sidePagination: "client",
    // 每页记录行数选项
    pageList: [20, 30, 50, 100],
    // 传递参数
    queryParams: function (params) {
      var data = {};
      data.offset = params.offset;
      data.row = params.limit;
      // 客户姓名
      data.fName = $("#fName").val();
      // 客户联系方式
      data.fPhone = $("#fPhone").val();
      data.fAddress = $('#fAddress').val();
      data.fContact = $('#fContact').val();
      // 客户姓名模糊查询
      data.likeFlag = 1;
      return data;
    },
    // 数据类型
    dataType: 'JSON',
    // 每一行的唯一标识，一般为主键列
    uniqueId: "id",
    columns: [
      {
        field: "id",
        align: 'left',
        valign: 'middle',
        title: 'id',
        edit: false
      },
      {
        field: "fn",
        align: 'left',
        valign: 'middle',
        title: '项目名',
        edit: false
      },
      {
        field: "fManager",
        align: 'left',
        valign: 'middle',
        title: '项目经理',
        edit: false
      },
      {
        field: "fEmp",
        align: 'left',
        valign: 'middle',
        title: '项目成员',
        edit: false
      },{
        field:'',
        title:'操作',
        valign: 'middle',
        align:'center',
        formatter:operate,
        events:operateEvents,
        edit: false
      }
      // {
      //   field: "fName",
      //   align: 'left',
      //   valign: 'middle',
      //   title: '客户',
      //   edit: false
      // },
      // {
      //   field: 'fn',
      //   align: 'left',
      //   valign: 'middle',
      //   title: '项目',
      //   formatter: function (value, ...rest) {
      //     return (value ? value : '');
      //   },
      //   edit: false
      // },
      // {
      //   field: 'fAddress',
      //   align: 'left',
      //   valign: 'middle',
      //   title: '地址',
      //   formatter: function (value, ...rest) {
      //     return (value ? value : '');
      //   },
      //   edit: false
      // },
      // {
      //   field: 'fContact',
      //   align: 'left',
      //   valign: 'middle',
      //   title: '联系人',
      //   formatter: function (value, ...rest) {
      //     if (value !== undefined && value !== null && value !== '') {
      //       const contactsArray = value.toString().split(' ');
      //       let result = '';
      //       for (contact of contactsArray) {
      //         if (contact !== '') {
      //           result += `<span>${contact}</span><br>`;
      //         }
      //       }
      //       return result;
      //     } else {
      //       return '';
      //     }
      //   },
      //   edit: false
      // },
      // {
      //   field: "fPhone",
      //   align: 'left',
      //   valign: 'middle',
      //   title: '联系方式',
      //   // TODO: 待完善正则表达式
      //   formatter: function (value, ...rest) {
      //     if (value !== undefined && value !== null && value !== '') {
      //       // 将字符串中的分隔符转为一个空格，再转为数组
      //       let regexp = /\s+|;|\/|\,/;
      //       let phoneArray = value.toString().replace(regexp, " ").split(' ');
      //       let result = '';
      //       for (let i = 0; i < phoneArray.length - 1 && phoneArray[i] !== ''; i++) {
      //         result += `<span>${phoneArray[i]}</span><br>`;
      //       }
      //       result += `<span>${phoneArray[phoneArray.length - 1]}</span>`;
      //       return result;
      //     } else {
      //       return '';
      //     }
      //   },
      //   edit: false
      // },
      // {
      //   field: "fManager",
      //   align: 'left',
      //   valign: 'middle',
      //   title: '项目经理',
      //   edit: false
      // },
      // {
      //   field: "fEmp",
      //   align: 'left',
      //   valign: 'middle',
      //   title: '项目成员',
      //   edit: false
      // }
    ],
  });
}
function procedureSelectE() {
	$.ajax({
		url : pathUrl("bill/findEmp.action"),
		type : "POST",
		dataType : "JSON",
		async : false,
		success : function(ret) {
      $('.procedureE').selectpicker('destroy');
			var val = ret;
			var option = "";
			if(val.length != 0){
				$(".procedureE").empty();
				for (x in val) {
					var str = val[x].fName;
					option += '<option value="' + val[x].id + '">' + str + '</option>';
				}
			}
			$(".procedureE").html(option);
			$('.procedureE').selectpicker('refresh');
		}
	});
}


/** 
 * @description: 表按钮操作事件
 * @param :
 */
window.operateEvents = {
  // "新增账号"按钮点击事件
  // TODO:补充“新增账号”按钮点击事件
  'click .addAccount': function (e, value, row, index) {
    // window.open(pathUrl("PS?fNumber="+ row.fNumber));
    console.log(row);
    piedan = row.fItemID;
    console.log(piedan);
    gaiTable();
    $("#addSupplerModal").modal('show');
  },
  'click .update' : function(e, value, row, index) {//修改	
		console.log(row);
    $('#selectedProject').val(row.fn);
    $("#addEmpModal").modal('show');
	}
}
function gaiTable() {
  $('#employeesTable').bootstrapTable('destroy').bootstrapTable({
    url: pathUrl("user/findCustomerUsers.action"),//请求后台的URL
    //height : $(window).height() - 200,//行高
    width: $(window).width() * 0.6,
    method: "POST",
    striped: true,
    cache: false,
    //		editable:false,//开启编辑模式
    sidePagination: "server", // 分页方式：client客户端分页，server服务端分页（*）
    pagination: true,
    pageNumber: 1,
    pageSize: 10,
    pageList: [5, 10, 30, 60, 'ALL'],
    showExport: true,
    buttonsAlign: "right",  //按钮位置
    queryParams: function (params) {//传递参数
      var data = {};
      data.offset = params.offset + 1;
      data.row = params.limit,
        data.fCustomerId = piedan;
      return data;
    },
    dataType: 'JSON',//数据类型
    uniqueId: "id",//每一行的唯一标识，一般为主键列
    columns: [{
      field: 'account',
      align: 'left',
      title: '用户名',
      visible: true,
      width: '10%',
      edit: false
    }, {
      field: 'fStop',
      align: 'left',
      title: '是否停用',
      visible: true,
      width: '10%',
      formatter: function (value, row, index) {
        var str = "";
        if (value == 1) {
          str = '已启用'
        }
        else {
          str = '停用'
        }
        return str;
      },
      edit: {
        type: 'select',// 下拉框
        data: fMacIdData,
        valueField: 'id',
        textField: 'fStop',
        onSelect: function (val, rec) {
          $.ajax({
            url: pathUrl("user/stopAccout.action"),
            type: 'POST',
            dataType: "JSON",
            async: false,
            data: {
              "fStop": val,
              "id": idss
            },
            success: function (data) {
              if (data.code == "0000") {
                $('#employeesTable').bootstrapTable('refresh');
              } else if (data.code == "9999") {
                //swal_Tips(data.message);
                $('#employeesTable').bootstrapTable('refresh');
              }
            },
            error: function (request) {
              swal_Tips_Error();
            }
          });
        }
      }
    }],
    onLoadSuccess: function (row, $element) {
      console.log(row);
    },
    onClickRow: function (row, $element) {
      idss = row.id;
    }
  });
}

$("#addProject").click(function (){
  $.ajax({
    url : pathUrl("bill/saveCustom.action"),
    type : "POST",
    data : {
      fName : $("#fName").val(),
      fn : $("#fn").val(),
      fAddress : $("#fAddress").val(),
      fContact : $("#fContact").val(),
      fPhone : $("#fPhone").val(),
      fManager : $("#fManager").val(),
      fEmp : $("#procedureE2 option:selected").text(),
    },
    success : function (data) {
      if(data.code==='0000'){
        swal_Tips_Short(data.message);
        initCustomerTable();
        $('#addProjectModal').modal('hide');
      }else{
        swal_Tips(data.message);
      }
     
    },
    error:function(){
      swal_Tips_Error();
    }
  });
})
$("#add").click(function(){
  $('#addProjectModal').modal('show');
})
$('#addProjectModal').on('hidden.bs.modal',function(){
  clearAddProjectModal();
})
$("#resetProject").click(function(){
  clearAddProjectModal();
})
function clearAddProjectModal(){
   $("#fName").val('');
     $("#fn").val('');
     $("#fAddress").val('');
      $("#fContact").val('');
   $("#fPhone").val('');
   $("#fManager").val('');
     $("#fEmp").val('');
     procedureSelectM()
     procedureSelectE()
}
function clearAddEmpModal(){
  //$('#procedureE').selectpicker('deselectAll');
  procedureSelectE()
  
}
$("#addEmpForProject").click(function(){
  $("#addEmpModal").modal('show');
})
$('#addEmpModal').on('hidden.bs.modal',function(){
  clearAddEmpModal();
})
$("#resetEmp").click(function(){
  clearAddEmpModal();
})

$("#addEmp").click(function (){
  $.ajax({
    url : pathUrl("bill/addEmpForProject.action"),
    type : "POST",
    data : {
      fn : $("#selectedProject").val(),
      fEmp : $("#procedureE option:selected").text(),
    },
    dataType : "JSON",
    success : function (data){
      if(data.code==='0000'){
        swal_Tips_Short(data.message);
        initCustomerTable();
        $("#addEmpModal").modal('hide');
      }else{
        swal_Tips(data.message);
      }
     
     
    },
    error:function(){
      swal_Tips_Error();
    }
  });
})


function procedureSelectP() {
	$.ajax({
		url : pathUrl("bill/findCustom.action"),
		type : "POST",
		dataType : "JSON",
		async : false,
		success : function(ret) {
			var val = ret;
			var option = "";
			if(val.length != 0){
				$("#procedureP").empty();
				for (x in val) {
					var str = val[x].fn;
					option += '<option value="' + val[x].id + '">' + str + '</option>';
				}
			}
			$("#procedureP").html(option);
			$('#procedureP').selectpicker('refresh');
		}
	});
}
function procedureSelectM() {
	$.ajax({
		url : pathUrl("roles/getAllPM.action"),
		type : "get",
		dataType : "JSON",
		async : false,
		success : function(ret) {
			var val = ret;
			var option = "";
			if(val.length != 0){
				$("#procedureM").empty();
				for (x of val) {
					//var str = val[x].fn;
					option += '<option value="' + x + '">' + x + '</option>';
				}
			}
			$("#procedureM").html(option);
			$('#procedureM').selectpicker('refresh');
		}
	});
}


/** 
 * @description: 添加账号按钮点击事件
 * @param :
 */
$("#addacoount").click(function () {
  $("#additSupplerModal").modal('show');
});
/** 
 * @description: 确认按钮点击事件
 * @param :
 */
$("#addcomfirm").click(function () {
  console.log(piedan);
  console.log($("#supplierAccount").val());
  $.ajax({
    url: pathUrl("user/addNew.action"),
    type: "POST",
    dataType: "JSON",
    data: {
      fCustomerId: piedan,
      account: $("#supplierAccount").val()
    },
    success: function (data) {
      if (data.code == "0000") {
        $('#employeesTable').bootstrapTable('refresh');
        swal_Tips_Short(data.message);
        $("#additSupplerModal").modal('hide');
      } else if (data.code == "9999") {
        swal_Tips(data.message);
      }
    },
    error: function (request) {
      swal_Tips_Error();
    }
  });
});
/** 
 * @description: 查询按钮点击事件
 * @param :
 */
$("#query").click(function () {
  initCustomerTable();
});
/** 
 * @description: 重置按钮点击事件
 * @param :
 */
$("#resetting").click(function () {
  $('.clean_C').val('');
  initCustomerTable();
});
/** 
 * @description: 重置按钮点击事件
 * @param :
 */
$("#addresetting").click(function () {
  $(".clean_C").val(' ');
});
/** 
 * @description: 查询条件按回车事件
 * @param :
 */
$("#fName,#fContact,#fPhone,#fAddress").keypress(function (event) {
  if (event.keyCode == "13") {
    initCustomerTable();
  }
});